草庐IT

Android JsonArray 和 JsonObject 反序列化

全部标签

c# - 是否可以将 MongoDB 的 "ISODate"字段反序列化为 JToken (C#)?

范围:我正在写一个setoftools帮助人们在他们的MongoDB数据库上运行常见操作,“导出”数据就是其中之一。目前我支持完整的JSON导出和“CSV”,但后者更棘手。导出工具允许使用“ConfigFile”指定哪些字段将被反序列化(来自BsonDocument),而不关心它们的类型。目前大多数类型都可以使用,但“ISO”日期仍然让我头疼。动态反序列化目前我依赖JObjects处理“Json”文档的解析,就像这样://JsonWriterSettings-Toavoidproblemswith10GentypesvarjsonSettings=newJsonWriterSettin

c# - 将 JSON 反序列化为几个 C# 子类之一

我有一个看起来像这样的json结构:"list":[{"type":"link","href":"http://google.com"},{"type":"image","src":"http://google.com/logo.png"},{"type":"text","text":"sometexthere"},]我想将其反序列化为对象列表,其中每个对象都是基类的子类。列表中的每个项目都有不同的属性(href、src、text),所以我不能使用相同的类来访问一个。相反,我想要一个通用类的三个子类。JSON列表中每个项目的类型属性可用于决定使用哪个子类。因此,例如,我可以有以下类(c

c# - 为什么我的 .NET 启动时间随着预生成的序列化程序集而增加?

我有一个相当大且复杂的winforms应用程序。为了减少启动时间,我使用以下批处理文件预先生成了序列化程序集。;deleteanyexistingserializationassembliesdel*XmlSerializers.dll;gennewserializationassembliesfor%%ain(*.dll)dosgen/assembly:%%a;delete.deletedfiles(generatedforassemblieswhichdonotallowserialization)del*.dll.deleted*然而,令我惊讶的是,启动时间实际上从4.6秒增加到

C# XML 序列化向后兼容性

以前,序列化/反序列化方法使用类型Item:publicclassItem{}现在我有一个名为ItemWrapper的新类,它派生自Item并具有一个附加属性:publicclassItemWrapper:Item{publicstringNewProperty{get;set;}}现在我的序列化/反序列化方法使用ItemWrapper类型。现在我打破了向后兼容性。我无法加载在旧版本中保存的任何Item类型的XML文件。当它尝试将Item反序列化为ItemWrapper时,我考虑过在反序列化方法上放置一个try/catch,然后在catch中我将尝试反序列化为项目。或者我可以使用xPa

c# - 有关如何使用 JSON.NET 创建自定义 GeoJson 序列化程序的建议?

我将尝试创建一个C#库来将对象序列化为GeoJSON使用Json.NET(用于序列化)和GeoAPI.NET(用于几何定义)。我考虑过两种不同的序列化实现方法,但我不清楚哪一种是最好的方法。它们是:方法1-自定义属性第一种方法涉及创建多个可应用于任何类以修改序列化的自定义属性。例如,一个类可能被装饰成这样:[GeoJsonFeature]publicclassBuilding{[GeoJsonId]publicGuidId{get;set;}[GeoJsonProperty]publicstringName{get;set;}[GeoJsonProperty]publicintFloo

c# - 从 ModelState 中删除 JSON.net 序列化异常

问题背景为了避免重复验证逻辑,我遵循一种将服务器端ModelState错误推送到我的View模型(MVVMKnockoutJS)的模式。所以按照惯例,我的KOViewModel上的属性名称与我的Api公开和期望的属性相匹配,因此我可以使用我编写的一个小Knockout插件轻松地将一个映射到另一个。...Spend$问题我的问题是,当JSON.Net序列化我通过AJAX发送的JSON时,当它遇到异常时,它会将其添加到ModelStateas和ExceptiononModelError类。示例响应:{"message":"Therequestisinvalid.","modelState"

c# - 有什么方法可以对 List<T> 的子类进行 JSON.NET 序列化,该子类也具有额外的属性?

好的,我们正在使用我非常喜欢的Newtonsoft的JSON.NET产品。但是,我有一个简单的类结构,用于分层位置,大致如下所示......publicclassLocation{publicstringName{get;set;}publicLocationListLocations{get;set;}}//Note:LocationListissimplyasubclassofaList//whichthenaddsanIsExpandedpropertyforusebytheUI.publicclassLocationList:List{publicboolIsExpanded{

c# - 为什么 JSON 空字符串在服务器端反序列化为 null?

我通过$.post发送空字符串,它反序列化为null。如何在客户端区分字符串是空还是空?问候更新我实际上在做的是:$.post("Controller/Action",$.param({Name:""},true),null,"json");在服务器上:publicContainer{publicstringName;}publicvoidAction(Containercontainer){boolc=container.Name==null;//cistrue,why?} 最佳答案 具有空值的变量在JSON中写为:{"var":

c# - 如何在 C# 中将 null 数组反序列化为 null?

这是我的类(class):publicclassCommand{[XmlArray(IsNullable=true)]publicListTo{get;set;}}当我序列化这个类的一个对象时:vars=newXmlSerializer(typeof(Command));s.Serialize(Console.Out,newCommand());它按预期打印(省略了xmlheader和默认MS命名空间):当我使用这个xml并试图反序列化它时,我卡住了,因为它总是打印“Notnull”:vart=s.Deserialize(...);if(t.To==null)Console.Write

c# - 枚举不序列化

我有一个WCF服务。它绑定(bind)到MSMQ,但这不是这里的问题。我可以序列化一个对象,该对象具有基类和在基类中实现的接口(interface),具体类派生自基类-这工作正常。然而,当我在基类中有一个枚举并设置该值时,在它被反序列化/从MSMQ读取之后,该值仍设置为默认值(即不是在代码中手动设置的值)有什么想法吗?我什至将枚举标记为DataContract,并将每个Enum成员标记为EnumMember属性。如何序列化枚举? 最佳答案 试试这个。[Serializable]publicenumEnumToSerialize{[X